為了應付某個有點囉嗦的客戶,只好臨時在桌機上用Virtualbox架Win2016(當iSCSI target)和RHEL8(當iSCSI initiator)的LAB,本來是很單純的事,沒想到鵝照習慣把NIC設成Virtio-Net就開始出現一堆靈異事件了....
靠,連上iSCSI target到OS mount起來要超過三分鐘,這啥跟啥....
後來被迫把RHEL8的vNIC改成E1000就正常了....
本來以為是Virtualbox的Virtio-Net實作有問題,抱著打破砂鍋問到底的精神在Win2016上跑wireshark看到底發生啥事,才發現是Virtualbox模擬E1000模擬的不夠透徹,在沒有設Jumbo frame的狀況下,把超過1500bytes的封包未經fragment就送到Ethernet層,導致被接收端的Virtio-Net丟掉了,而兩邊都設成E1000的話因為有相同的bug反倒沒事,該說是負負得正嗎....
不知還有沒有邦友在這類Hypervisor上遇過這類靈異事件啊....